約 2,990,227 件
https://w.atwiki.jp/arprojectfun/pages/49.html
ノート - OpenCV - OpenCVの導入 OpenCVのダウンロード OpenCVのインストール VisualStudioの設定インクルード・ライブラリパスの設定 プロジェクトの設定 依存するライブラリの設定 サンプルを動かす解説構造体 cvCreateCameraCapture関数 cvSetCaptureProperty関数 cvQueryFrame関数 真っ黒画面しか表示されないときは注意コメントどうぞ OpenCVのダウンロード まず、ここからOpenCV1.0をダウンロードして下さい。http //sourceforge.net/projects/opencvlibrary/ DownLoadの右側のViewAllをクリックするとすべてのバージョンの一覧が出てきます。 2.0ではwebカメラの映像を扱えないので注意してください。 OpenCVのインストール 次にダウンロードしてきた実行ファイルを起動して、インストールします。適当にOKや次を押して進めてください。 基本的にデフォルトでいいです。 システム変数のPathの設定する。[システムのプロパティ] - [詳細設定] - [環境変数]を開きます。 システム変数のPATH(Path)の値に 「C \Program Files\OpenCV\bin」 を後ろに追加する。 もしPathであるなら、PATHに変更しないとOpenCVは使えない。(システム上は大文字でも小文字でも構いません) VisualStudioの設定 インクルード・ライブラリパスの設定 インクルードパスに以下を追加します。C \Program Files\OpenCV\cv\include C \Program Files\OpenCV\cvaux\include C \Program Files\OpenCV\cxcore\include C \Program Files\OpenCV\otherlibs\highgui ライブラリパスに以下を設定しますC \Program Files\OpenCV\lib プロジェクトの設定 依存するライブラリの設定 プロジェクトのプロパティを開く [構成プロパティ] - [リンカ] - [入力]を開く 以下のライブラリを依存するファイルに追加する cvcam.lib highgui.lib cxts.lib cv.lib cxcore.lib ml.lib cvaux.lib cvhaartraining.lib これで下準備は完了です サンプルを動かす 以下は公式が出しているサンプルから抜粋したものです。 #include cv.h #include highgui.h #include ctype.h int main (int argc, char **argv){ CvCapture *capture = 0; IplImage *frame = 0; double w = 320, h = 240; int c; // (1)コマンド引数によって指定された番号のカメラに対するキャプチャ構造体を作成する if (argc == 1 || (argc == 2 strlen (argv[1]) == 1 isdigit (argv[1][0]))) capture = cvCreateCameraCapture (argc == 2 ? argv[1][0] - 0 0); /* この設定は,利用するカメラに依存する */ // (2)キャプチャサイズを設定する. cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w); cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h); cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); // (3)カメラから画像をキャプチャする while (1) { frame = cvQueryFrame (capture); cvShowImage ("Capture", frame); c = cvWaitKey (2); if (c == \x1b ) break; } cvReleaseCapture ( capture); cvDestroyWindow ("Capture"); return 0; } 空のプロジェクトを作成して、以上のコードをコピペしてください。 ビルドして実行できれば成功です。 解説 構造体 CvCapture *capture; キャプチャするカメラの情報を格納する変数 IplImage *frame; OpenCVで扱える画像を格納する変数 cvCreateCameraCapture関数 capture = cvCreateCameraCapture (argc == 2 ? argv[1][0] - 0 0); 引数にカメラの番号を入れると、その番号のカメラの情報を返す関数 サンプルではコマンド引数に指定されたカメラの話のお号を引数にしている。 無かった場合は0番目を入れている。 cvSetCaptureProperty関数 cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w); cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h); カメラのキャプチャサイズを設定する関数 第1引数にキャプチャするカメラの変数、第2引数に設定する項目、第3引数にはその値を指定します。 cvQueryFrame関数 frame = cvQueryFrame (capture); 引数にCvCaptureを入れてやると、そのカメラの現在のフレームを返り値として返してくれる。 サンプルではその画像を常に持ってきて、ウィンドウに表示している。 真っ黒画面しか表示されないときは VistaでOpenCV こちらの記事を参考に、ewclib.h をインクルードしてみてください。 注意 上記の記事のサンプルコードは内容が少し古いので、 ビルドするにはすこし修正が必要です。 【修正点1】 14行目辺りの EWC_Open(SIZE_X, SIZE_Y, FPS); を EWC_Open(CAM_NUM, SIZE_X, SIZE_Y, FPS); に変更する。 【修正点2】 32行目辺りの EWC_Close(); を EWC_Close(CAM_NUM); もしくは、 EWC_CloseAll(); に変更する。 コメントどうぞ 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/55.html
ノート - メモリフォーマットについて 画像に関するメモリの扱い方に付いてのまとめ 各種の構造体の説明とかしたい。 IplImage構造体 OpenCVの画像を扱う構造体 D3DLOCKED_RECT構造体 DirectXでのテクスチャの矩形領域を表す構造体 非圧縮 RGB ビデオ サブタイプ MediaType構造体でサブタイプに指定するメモリフォーマット
https://w.atwiki.jp/arprojectfun/pages/12.html
人気商品一覧 @wikiのwikiモードでは #price_list(カテゴリ名) と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。 カテゴリには以下のキーワードがご利用できます。 キーワード 表示される内容 ps3 PlayStation3 ps2 PlayStation3 psp PSP wii Wii xbox XBOX nds Nintendo DS desctop-pc デスクトップパソコン note-pc ノートパソコン mp3player デジタルオーディオプレイヤー kaden 家電 aircon エアコン camera カメラ game-toy ゲーム・おもちゃ全般 all 指定無し 空白の場合はランダムな商品が表示されます。 ※このプラグインは価格比較サイト@PRICEのデータを利用しています。 たとえば、 #price_list(game-toy) と入力すると以下のように表示されます。 ゲーム・おもちゃ全般の売れ筋商品 #price_list ノートパソコンの売れ筋商品 #price_list 人気商品リスト #price_list
https://w.atwiki.jp/arprojectfun/pages/29.html
ノート Direct3D 入門 荒川が参考にしたブログの記事とメモ書き程度ですが、 自分のためにもまとめておきます。参考になれば・・ 勉強会の時には、解説よりも開発環境の確認のために まず、一通りのプログラムのビルドができることを確認した方がいいかも プロジェクトの作成 Visual Studio を起動させる。 上部のメニューから [ファイル(F)] - [新規作成(N)] - [プロジェクト(P)... Ctrl+Shift+N] を選択する。 左の「プロジェクトの種類(P) 」から「Visual C++」を選択し、 右の「テンプレート(T) 」から「Win32 プロジェクト」を選択して 適当な「プロジェクト名(N) 」を記入した後、[OK]ボタンをクリックする。 「Win32 アプリケーションウィザード」というウィンドウが表示されるので、 何もせずに[完了]ボタンをクリックする。 テキスト 2Dポリゴンの表示まで BMP画像を表示する Xファイルの3Dモデルの表示 1人称視点で3D空間内を歩く 追記情報とか 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/10.html
関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
https://w.atwiki.jp/arprojectfun/pages/44.html
ノート Direct3D 入門 2Dポリゴンの表示まで 参考サイトを挙げてちょっとメモを追加しただけで恐縮ですが・・。 最終的に出来上がるもの Subversionリポジトリ内、下記の場所にプロジェクトがフォルダーごと挙げてあります trunk/directx/ShowXFile_test20100510 詳しくはフォルダー内の Readme.txt を読んでください。 参考サイト 以下の記事を順番に試していくと、表題の通りDirectXの使い方が分かります。 Visual StudioのWin32プロジェクトで自動的に記述される部分に追記する形で説明してくれる DirectX SDKのバージョンが「November 2008」 なので、大変参考になるかと。 DirectX SDKのインストールとサンプルの実行 DirectX9プログラムのはじめの一歩(真っ黒なウィンドウを生成する) ポリゴンを表示してみる ゲームを意識したメインループに変更する 残念ながらこれ以降は更新されていないようです。 (移転したとされているはてなダイアリーへのリンクも切れているので・・) また、MSDNのリファレンスも参考になると思います。 DirectX 過去のバージョン 注意0 DirectX9プログラムのはじめの一歩(真っ黒なウィンドウを生成する) の記事で、勉強会の日につまづいたところ 関数プロトタイプ宣言部の render() と cleanup() は本体か実際の呼び出し部分が Render(), Cleanup() と書かれているので、プロトタイプ宣言部も頭文字を大文字で書かないと 何気なく書いてあって、Visual Studio が勝手に準備しておいてくれたものだと思っていた下記のマクロはちゃんと追加しましょう #define FAILED(hr) (((HRESULT)(hr)) 0) #define SUCCEEDED(hr) (((HRESULT)(hr)) = 0) 下記は閉じかっこが一つ足りない if(FAILED (InitD3D(hWnd)) { return FALSE; } 注意1 ポリゴンを表示してみる の記事では、その通りやっただけでは真っ黒のウィンドウが表示されるだけで、三角形は表示されません。 「InitInstance関数にInitVB関数を実行する記述を追加する」 ということなのですが、InitInstance関数の記述部分を下記のように変更すれば三角形が正しく表示されるようになります。 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } if(FAILED (InitD3D(hWnd))) { return FALSE; } /* 書き加えた部分 ここから */ if ( FAILED( InitVB() ) ) { return FALSE; } /* ここまで */ ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } 注意2 1 LINK fatal error LNK1000 Internal error during IncrBuildImage というエラーが出ることがありますが(荒川の環境だけかもしれませんが)、 その時はもう一度ビルドしなおすとうまく行くみたいです。 「プロジェクトのクリーン」をするか、デバックフォルダを消すと治るみたいです。 調べてみると、VisualStudio側のバグだとか・・(?) 追記情報とか まとめ方とか見出し区切りとか、どんどん編集しちゃってかまわないです・・(汗) -- 荒川 (2010-02-17 18 25 11) 注意2は「プロジェクトのクリーン」をするか、デバックフォルダを消すと治ります。 -- 村山 (2010-02-18 18 38 20) そうだったのですか、ありがとうございます。 -- 荒川 (2010-02-19 11 21 16) 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/66.html
ポスター作成における物置です。 基本的にはDropboxで管理してください。 中間発表 中間発表で言う事 中間発表用メインポスター 中間発表用サブポスター 最終発表 最終発表用スライド内容 最終発表用メインポスター 最終発表用サブポスター 中間のモノを流用
https://w.atwiki.jp/arprojectfun/pages/27.html
てすとてすと - 村山 2010-02-16 01 19 24 返信です - むらやま 2010-02-16 01 19 38 これは掲示板とは言いません - こだま 2010-02-16 01 20 14 FC2とかで(オススメとかあればそちらの方がいいですが)掲示板とっときましょうか? - 荒川 2010-02-16 12 06 15 DirectXの勉強の際に何か書籍を参考にしてますか?参考Linkにあるサイトだと古くてそのままだと動かないコードがあったり - 荒川 2010-02-16 11 59 55 あ、参考書籍のページを追加してみたのでそちらに書いてもらえると助かります - 荒川 2010-02-16 12 01 04
https://w.atwiki.jp/arprojectfun/pages/47.html
ノート Direct3D 入門 1 人称視点で3D空間内を歩く 1人称視点で3D空間内を歩き回るプログラムについて解説します サンプルプログラム Subversionリポジトリ内、下記の場所にプロジェクトフォルダーがあります trunk/directx/Win32Project_test_20100222 3D空間における操作の仕組み 3D空間内のオブジェクトの場所は「位置ベクトル」で表す位置ベクトルは「座標」で読み替えても差し支えない Direct3D はすべて3D空間で考える3D空間での座標は、(x,y,z)の形をとる 3Dジオメトリを移動させるには、その座標の成分を増減させれば良い Direct3Dに限らず3D-CGでは座標をそのまま利用することはしない座標だけではなく回転やスケール(縮尺)を一度に処理できる便利な論理ツールである「行列」を使う
https://w.atwiki.jp/arprojectfun/pages/51.html
ノート OpenCV カメラの画像をテクスチャに利用する 準備 解説コメント 準備 荒川くんの用意してくれたプログラムを利用する。 mrip\trunk\directx の中にある[ShowXFile_base20100511]というプログラムを改良したプログラムを mrip\trunk\opencv\OpenCV_ShowXFile_base20100511 に作成した。SVNを最新のものに更新して、利用してください。 解説 基本的には動作確認用のプログラムでフレームの画像をテクスチャにコピーしているだけです。 コピーするための関数。 void replaceTexture(LPDIRECT3DTEXTURE9 pTexture, IplImage *pPanoImg) { D3DLOCKED_RECT pLockedRect; pTexture- LockRect(0, pLockedRect, NULL, 0);//ロック unsigned long data; //32bit unsigned long r, g, b, a; unsigned long *to = (unsigned long*)pLockedRect.pBits; for(UINT y=0; y (unsigned int)pPanoImg- height; y++) { for(UINT x=(unsigned int)pPanoImg- width; x 0 ; x--) { //初期化 data = r = g = b = 0; //B b = *(pPanoImg- imageData + (pPanoImg- width*y + x-1) * 3 + 0); data += b; //G g = *(pPanoImg- imageData + (pPanoImg- width*y + x-1) * 3 + 1); g = 8; data += g; //R r = *(pPanoImg- imageData + (pPanoImg- width*y + x-1) * 3 + 2); r = 16; data += r; //A a = 0; a = 24; data += a; *to++ = data; } } pTexture- UnlockRect(0);//アンロック } この関数が原因で、現在のプログラムではうまくコピー出来ていないらしい。 誰かにこの関数を直して欲しい。(加藤くん辺りに(ぇ コメント 名前 コメント